Logo ICT-BZ

File Monitor

Kurzinfo

Themenbereich

Softwareentwicklung / System-Monitoring (C++)

Lernender

Gabriel Benter

Lehrbetrieb

Luzerner IT Solution GmbH

Auftraggeber

Urs Nussbaumer / Manuel Gut

Projekt-Website

https://github.com/GabrielBenter088/FileMonitor/releases/tag/1.0.0

Aufgabenstellung

In modernen Windows-Betriebssystemen laufen im Hintergrund ständig zahlreiche Prozesse ab, die unbemerkt auf das Dateisystem zugreifen. Diese Aktivitäten verbrauchen wertvolle Systemressourcen und können die Gesamtleistung des Computers beeinträchtigen, ohne dass der Nutzer die Ursache direkt erkennen kann. Das Ziel dieses Projekts war es, eine Software zu entwickeln, die dem Anwender volle Transparenz über diese versteckten Vorgänge verschafft. Der File Monitor soll es ermöglichen, für jede beliebige Datei eine dedizierte Überwachung einzurichten, die sämtliche Lese-, Schreib- und Löschvorgänge in Echtzeit erfasst. Dadurch können unnötige Hintergrundaktivitäten präzise identifiziert werden, was die Grundlage für eine gezielte Systemoptimierung und Leistungssteigerung bildet.

Ergebnisse

Das Ergebnis ist eine leistungsfähige Monitoring-Anwendung, die Dateisystem-Ereignisse zuverlässig abfängt und für den Nutzer aufbereitet. Zu den wichtigsten Funktionen und Resultaten gehören:

Lösungskonzept

Die technische Umsetzung wurde in der Sprache C++ realisiert, wobei der Fokus auf einer systemnahen Architektur in der "source.cpp" lag. Das Programm verfolgt einen "Man-in-the-Middle"-Ansatz: Es schaltet sich aktiv zwischen das Betriebssystem und die überwachte Datei, um die Aufruf-Parameter abzugreifen, bevor der eigentliche Zugriff ausgeführt wird. Nach der Protokollierung wird die Anfrage unverzüglich an das Originalsystem weitergeleitet, um den normalen Programmablauf nicht zu stören. Ein wesentlicher Teil meines Konzepts war die bewusste Entscheidung, C++ während der Projektphase eigenständig zu erlernen und dabei konsequent auf generative KI-Tools zu verzichten. Dies stellte sicher, dass komplexe Themen wie das manuelle Speichermanagement, die Handhabung von Pointern und die direkte Arbeit mit der Windows-API vollständig durchdrungen und eigenhändig gelöst wurden.

Aufgetretene Probleme

Die grösste Herausforderung war die steile Lernkurve der Sprache C++, besonders da die Fehlersuche ohne KI-Unterstützung ein hohes Mass an Eigeninitiative und Zeit erforderte. Technisch gesehen war die grösste Hürde die persistente Speicherung der Log-Daten innerhalb eines extrem engen Zeitfensters von unter 50 Millisekunden. Dies war notwendig, um Datenverluste bei hochfrequenten Dateizugriffen zu verhindern. Zudem traten Schwierigkeiten beim Umgang mit Administrator-Rechten und beim Filtern von redundanten System-Events auf. Auch die Absicherung des User-Inputs im GUI gegen potenzielle Sicherheitsrisiken (wie Code-Injection) erforderte zusätzliche Entwicklungsarbeit und detaillierte Tests, um die Stabilität und Sicherheit des Tools zu gewährleisten.

Ausblick

Für die Weiterentwicklung des File Monitors ist eine aktive Interventions-Funktion geplant, mit der Nutzer verdächtige oder unerwünschte Dateizugriffe nicht nur beobachten, sondern in Echtzeit blockieren können. Zudem soll eine automatisierte Analyse-Komponente implementiert werden, die die Log-Dateien selbstständig auswertet und den Nutzer proaktiv warnt, wenn ein Hintergrundprozess ungewöhnlich hohe Last verursacht. Eine Erweiterung auf die Überwachung ganzer Verzeichnisstrukturen und Netzwerklaufwerke ist ebenfalls ein möglicher nächster Schritt, um die Transparenz im System weiter zu erhöhen.